CRAUL: Compiler and run-time integration for adaptation under load

نویسندگان

  • Sotiris Ioannidis
  • Umit Rencuzogullari
  • Robert Stets
  • Sandhya Dwarkadas
چکیده

Clusters of workstations provide a cost-effective, high performance parallel computing environment. These environments, however, are often shared by multiple users, or may consist of heterogeneous machines. As a result, parallel applications executing in these environments must operate despite unequal computational resources. For maximum performance, applications should automatically adapt execution to maximize use of the available resources. Ideally, this adaptation should be transparent to the application programmer. In this paper, we present CRAUL (Compiler and Run-Time Integration for Adaptation Under Load), a system that dynamically balances computational load in a parallel application. Our target run-time is software-based distributed shared memory (SDSM). SDSM is a good target for parallelizing compilers since it reduces compile-time complexity by providing data caching and other support for dynamic load balancing. CRAUL combines compile-time support to identify data access patterns with a run-time system that uses the access information to intelligently distribute the parallel workload in loop-based programs. The distribution is chosen according to the relative power of the processors and so as to minimize SDSM overhead and maximize locality. We have evaluated the resulting load distribution in the presence of different types of load — computational, computational and memory intensive, and network load. CRAUL performs within 5—23% of ideal in the presence of load, and is able to improve on naive compiler-based work distribution that does not take locality into account even in the absence of load.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Compiler and Run-Time Support for Adaptive Load Balancing in Software Distributed Shared Memory Systems

Networks of workstations ooer inexpensive and highly available high performance computing environments. A critical issue for achieving good performance in any parallel system is load balancing, even more so in workstation environments where the machines might be shared among many users. In this paper, we present and evaluate a system that combines compiler and run-time support to achieve load b...

متن کامل

Adaptive Protocols for Software Distributed Shared Memory

We demonstrate the bene ts of software shared mem ory protocols that adapt at run time to the memory access patterns observed in the applications This adaptation is automatic no user annotations are required and does not rely on compiler support or special hardware We in vestigate adaptation between single and multiple writer protocols dynamic aggregation of pages into a larger trans fer unit a...

متن کامل

Adaptive Time-Dependent CFD on Distributed Unstructured Meshes

Two recent trends in software for CFD problems are the use of unstructured adaptive meshes and the need to implement the software on distributed memory parallel computers. The subject of this paper is the implementation of one particular code of this type for the solution of time-dependent compressible Euler and Navier Stokes problems. The software described here uses the method of lines with t...

متن کامل

Adapting Distributed Applications Using Extensible Networks

In this paper, we show that the adaptation of distributed software components can be performed by extending network behavior with Application-Speci c Protocols (ASPs). We propose to program ASPs in PLAN-P, a domain speci c language designed for active networks. We illustrate the application scope of ASPs with three examples: (i) audio broadcasting with bandwidth adaptation in routers, (ii) an e...

متن کامل

Customized Dynamic Load Balancing for a Network of Workstations

Load balancing involves assigning to each processor work proportional to its performance, thereby minimizing the execution time of a program. Although static load balancing can solve many problems (e.g., those caused by processor heterogeneity and nonuniform loops) for most regular applications, the transient external load due to multiple users on a network of workstations necessitates a dynami...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • Scientific Programming

دوره 7  شماره 

صفحات  -

تاریخ انتشار 1999